package com.fy.common.entity;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.baomidou.mybatisplus.enums.IdType;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * sk_im_user_request
 * @author zhshuo
 */
@Data
@Accessors(chain = true)
@ApiModel(value="com.fy.service.component.model.entity.SkImUserRequest用户请求表")
public class SkImUserRequest implements Serializable {
    /**
     * 主键
     */
    @ApiModelProperty(value="主键")
    @TableId(type = IdType.ID_WORKER)
    private Long id;

    /**
     * 用户id
     */
    @ApiModelProperty(value="用户id")
    private Long skImUserId;

    /**
     * 请求类型;1 好友添加请求 2 群组申请
     */
    @ApiModelProperty(value="请求类型;1 好友添加请求 2 群组申请 3 邀请进群")
    private Integer requestType;

    /**
     * 请求备注
     */
    @ApiModelProperty(value="请求备注")
    private String requestRemark;

    /**
     * 目标用户id
     */
    @ApiModelProperty(value="目标id")
    private Long targetId;

    /**
     *
     */
    @ApiModelProperty(value="邀请人")
    private Long inviteUser;

    /**
     * 申请结果;false 拒绝 true  同意
     */
    @ApiModelProperty(value="0 待处理 1 同意  -1 拒绝")
    private Integer status;

    /**
     * 备注
     */
    @ApiModelProperty(value="备注")
    private String remark;

    /**
     * 处理时间
     */
    @ApiModelProperty(value="处理时间")
    private Date handleTime;

    /**
     * 处理人
     */
    @ApiModelProperty(value="处理人")
    private Long handleUserId;

    /**
     * 租户号
     */
    @ApiModelProperty(value="租户号")
    private String tenantId;

    /**
     * 乐观锁
     */
    @ApiModelProperty(value="乐观锁")
    private String revision;

    /**
     * 创建人
     */
    @ApiModelProperty(value="创建人")
    private Long createBy;

    /**
     * 创建时间
     */
    @ApiModelProperty(value="创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新人
     */
    @ApiModelProperty(value="更新人")
    private Long lastUpdateBy;

    /**
     * 更新时间
     */
    @ApiModelProperty(value="更新时间")
    @TableField(fill = FieldFill.UPDATE)
    private Date lastUpdateTime;

    private static final long serialVersionUID = 1L;
}